// pages/me/me.js
const db=wx.cloud.database({
    env:'cloud1-4gzmwjb227281619'
})
Page({

    /**
     * 页面的初始数据
     */
    data: {
        nickName:'',
        isLogin:false,
        avatar:''
    },
    // 上传头像
    uploadavatar(){
        this.data.isLogin&&wx.chooseImage({
          count: 1,
          sourceType:["album","camera"],
          success:(res)=>{
            //   获取图片路径
            let filePath=res.tempFilePaths[0]
            let extension=filePath.slice(filePath.indexOf(".")).toLowerCase()
            let mainName=Date.now()+''+Math.ceil(Math.random()*9999999)
            let fileName=mainName+extension
            this.cloudavatar(filePath,fileName)
          }
        })
    },
    // 图片上传云端
    cloudavatar(filePath,fileName){
        wx.cloud.uploadFile({
            cloudPath:fileName,
            filePath:filePath,
            success:(res)=>{
                let fileId=res.fileID
                // 页面头像更新
                this.setData({
                    avatar:fileId
                });
                // 数据库头像信息更新
                this.dataAvatr(fileId)
            }
        })
    },
    // 数据库头像更新
    dataAvatr(fileId){
        db.collection("users").where({
            _openid:getApp().globalData.userId
        }).update({
            data:{
                avatarUrl:fileId
            }
        }).then(res=>{
            wx.showToast({
              title: '上传成功',
              icon:"success"
            })
        })
    },
    login(){
        wx.getUserProfile({
            desc:'用于登录',
          success:res=>{
              let userInfo=res.userInfo
            //   页面上的更新
              this.setData({
                  nickName:userInfo.nickName,
                  avatar:userInfo.avatarUrl,
                  isLogin:true
              })
            //   检查用户是否在数据库存在
            this.verifyUser(userInfo)
          },
          fail:err=>{
              console.log(err)
          }
        })
    },

    verifyUser(userInfo){
        // 由于权限,该用户只能访问自己的数据
        db.collection("users").get().then(res=>{
            if(res.data.length){
                // 该用户存在
                this.setData({
                    isLogin:true
                })
            }else{
                // j不存在该用户就注册该用户
                db.collection("users").add({
                    data:userInfo
                }).then(res=>{
                    // 将获取的用户ID保存方便用户上传和修改数据
                    getApp().globalData.userId=res._openid
                })
            }
        })
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {

    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})